React Router
分かりやすくないので、正直あまり好きではない
htmlファイル一個作ってaタグ書くだけだったはずの作業がなんでこんなことに
<Redirect>とか、コンポーネントで考えない方がいいんじゃないか
おおざっぱに言うと
1. Routerで全部をかこって
<BrowserRouter>とか<HashRouter>とか
なんか特殊なhistoryオブジェクトをごにょごにょしてくれるらしい
2. routingごとに表示したい内容をRouteで定義して
3. Linkでリンクする
Route
locationのpathnameが<Route>のpathpropと比較され、マッチした場合に当該<Route>の中身がrenderされる
マッチしなかったやつはnullがrenderされる
code:jsx
<Route path='/about' component={About}/>
<Route path='/contact' component={Contact}/>
<Route component={Always}/>
<Switch>で囲った場合、その中の最初にマッチしたやつだけがrenderされる
code:jsx
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
{/* when none of the above match, <NoMatch> will be rendered */}
<Route component={NoMatch} />
</Switch>